From 9c2110122b8b5e5f12a19076814012407ee7abb2 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Thu, 18 Feb 2016 22:03:12 -0500 Subject: [PATCH] gdk: Add a way to show included backends Set GDK_BACKEND=help to see a list of all inluded GDK backends. --- docs/reference/gtk/running.sgml | 5 +++-- gdk/gdkdisplaymanager.c | 9 +++++++++ 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/docs/reference/gtk/running.sgml b/docs/reference/gtk/running.sgml index 7f3812046a..accd973224 100644 --- a/docs/reference/gtk/running.sgml +++ b/docs/reference/gtk/running.sgml @@ -477,7 +477,7 @@ nevertheless. If set, selects the GDK backend to use. Selecting a backend requires that GTK+ is compiled with support for that backend. The following backends can - be selected: + be selected, provided they are included in the GDK libraries you are using: @@ -513,7 +513,8 @@ nevertheless. Since 3.10, this environment variable can contain a comma-separated list of backend names, which are tried in order. The list may also contain - a *, which means: try all remaining backends. + a *, which means: try all remaining backends. The special value "help" can + be used to make GDK print out a list of all available backends. For more information about selecting backends, see the gdk_display_manager_get() function. diff --git a/gdk/gdkdisplaymanager.c b/gdk/gdkdisplaymanager.c index bc3471f83a..cbb5c4cf38 100644 --- a/gdk/gdkdisplaymanager.c +++ b/gdk/gdkdisplaymanager.c @@ -441,6 +441,15 @@ gdk_display_manager_open_display (GdkDisplayManager *manager, backend_list = g_getenv ("GDK_BACKEND"); if (backend_list == NULL) backend_list = allowed_backends; + else if (g_strcmp0 (backend_list, "help") == 0) + { + fprintf (stderr, "Supported GDK backends:"); + for (i = 0; gdk_backends[i].name != NULL; i++) + fprintf (stderr, " %s", gdk_backends[i].name); + fprintf (stderr, "\n"); + + backend_list = allowed_backends; + } backends = g_strsplit (backend_list, ",", 0); display = NULL; -- 2.30.2